language: c
sudo: false
addons:
  apt:
    packages: libgmp-dev
compiler:
  - clang
  - gcc
env:
  global:
    - FIELD=auto  BIGNUM=auto  SCALAR=auto  ENDOMORPHISM=no  ASM=no  BUILD=check  EXTRAFLAGS= HOST=
  matrix:
    - SCALAR=32bit
    - SCALAR=64bit
    - FIELD=64bit
    - FIELD=64bit     ENDOMORPHISM=yes
    - FIELD=64bit                       ASM=x86_64
    - FIELD=64bit     ENDOMORPHISM=yes  ASM=x86_64
    - FIELD=32bit
    - FIELD=32bit     ENDOMORPHISM=yes
    - BIGNUM=no
    - BIGNUM=no       ENDOMORPHISM=yes
    - BUILD=distcheck
    - EXTRAFLAGS=CFLAGS=-DDETERMINISTIC
matrix:
  fast_finish: true
  include:
    - compiler: clang
      env: HOST=i686-linux-gnu ENDOMORPHISM=yes
      addons:
        apt:
          packages:
            - gcc-multilib
            - libgmp-dev:i386
    - compiler: clang
      env: HOST=i686-linux-gnu
      addons:
        apt:
          packages:
            - gcc-multilib
    - compiler: gcc
      env: HOST=i686-linux-gnu ENDOMORPHISM=yes
      addons:
        apt:
          packages:
            - gcc-multilib
    - compiler: gcc
      env: HOST=i686-linux-gnu
      addons:
        apt:
          packages:
            - gcc-multilib
            - libgmp-dev:i386
before_script: ./autogen.sh
script:
 - if [ -n "$HOST" ]; then export USE_HOST="--host=$HOST"; fi
 - if [ "x$HOST" = "xi686-linux-gnu" ]; then export CC="$CC -m32"; fi
 - ./configure --enable-endomorphism=$ENDOMORPHISM --with-field=$FIELD --with-bignum=$BIGNUM --with-scalar=$SCALAR $EXTRAFLAGS $USE_HOST && make -j2 $BUILD
os: linux
